/*
 * Matriz3D.h
 *
 *  Created on: 04/10/2009
 *      Author: ale
 */

#ifndef MATRIZ3D_H_
#define MATRIZ3D_H_

#include "Punto.h"



class Matriz3D {
private:
	float matriz[4][4]; //matriz 3D ampliada
public:
	Matriz3D();
	Matriz3D(const Matriz3D& otra);
	Matriz3D(const float** otra);
	float* operator[](int i);
	Matriz3D* operator*(const Matriz3D& otra);
	Punto operator*(const Punto& punto);
	virtual ~Matriz3D();
	void setRotacion(float angulo);
	void setTraslacion(const Punto& punto);
	void setEscalado(float factor);
	void setEscalado(const Punto& factores);
	void setIdentidad();
	void setEspejo();

};

#endif /* MATRIZ3D_H_ */
